package com.mf.entity.dto;

import com.mf.enums.roster.RosterTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDate;

/**
 * @Author: lmf
 * @Create: 2024/9/21 13:21
 * Description:
 */

@Data
public class RosterDto {
    @Schema(description = "id")
    private Integer id;

    @Schema(description = "员工类型", example = "1")
    private RosterTypeEnum type;

    @Schema(description = "是否转正 0:否;1:是")
    private Integer flagNormal;

    @Schema(description = "员工姓名", example = "张三")
    @NotBlank(message = "员工姓名不能为空")
    private String name;

    @Schema(description = "1:男；0:女", example = "1")
    @NotNull(message = "性别不能为空")
    private Integer gender;

    @Schema(description = "出生日期",example = "2022-01-01")
    @NotNull(message = "出生日期不能为空")
    private LocalDate birthday;

    @Schema(description = "籍贯", example = "重庆")
    @NotBlank(message = "籍贯不能为空")
    private String nativePlace;

    @Schema(description = "民族", example = "汉族")
    @NotBlank(message = "民族不能为空")
    private String nation;

    @Schema(description = "体重", example = "60")
    private Integer weight;

    @Schema(description = "身高", example = "170")
    private Integer height;

    @Schema(description = "政治面貌", example = "政治面貌")
    @NotBlank(message = "政治面貌不能为空")
    private String politicsStatus;

    @Schema(description = "学历", example = "本科")
    @NotBlank(message = "学历不能为空")
    private String education;

    @Schema(description = "婚姻状况", example = "已婚")
    @NotBlank(message = "婚姻状况不能为空")
    private String marriageStatus;

    @Schema(description = "身份证", example = "123456789012345678")
    @NotBlank(message = "身份证不能为空")
    private String identityNumber;


    @Schema(description = "身份证有效期", example = "2022-01-01")
    private LocalDate identityEnd;

    @NotBlank(message = "身份证地址不能为空")
    @Schema(description = "身份证地址", example = "重庆")
    private String identityAddress;

    @NotBlank(message = "手机号不能为空")
    @Schema(description = "手机号", example = "12345678901")
    private String phoneNumber;

    @Schema(description = "当前居住地址", example = "重庆")
    private String residentialAddress;

    @Schema(description = "紧急联系人姓名", example = "张三")
    @NotBlank(message = "紧急联系人姓名不能为空")
    private String urgencyName;

    @Schema(description = "紧急联系人关系", example = "父子")
    @NotBlank(message = "紧急联系人关系不能为空")
    private String urgencyRelation;

    @Schema(description = "紧急联系人电话", example = "12345678901")
    @NotBlank(message = "紧急联系人电话不能为空")
    private String urgencyPhone;

    @Schema(description = "应聘来源", example = "xxx")
    @NotBlank(message = "应聘来源不能为空")
    private String recruitSource;

    @Schema(description = "疾病名称", example = "xxxx")
    private String illnessName;

    @Schema(description = "入职日期", example = "2022-01-01")
    private LocalDate entryDate;

    @Schema(description = "介绍人姓名")
    private String introduceName;

    @Schema(description = "介绍人关系")
    private String introduceRelation;


    @Schema(description = "经度", example = "123.456")
    private Double longitude;

    @Schema(description = "纬度", example = "123.456")
    private Double latitude;

    @Schema(description = "转正日期")
    private LocalDate normalDate;

    @Schema(description = "转正日期")
    private String empNo;

    @Schema(description = "备注")
    private String remark;
}
